package com.binance.notification.web.service.abnormaltrade.models;

import java.io.Serializable;
import java.util.Map;
import java.util.Objects;

/**
 * 价格异动信息
 */
public class AbnormalTradeNoticeInfo implements Serializable {
  private static final long serialVersionUID = 1406755847772545779L;
  private String symbol;// 交易对名字例如bnbusdt
  private String quoteAssetName;// 对标资产 比方说
  private Long time;// k线时间
  private Long recordTime;// 触发时间

  private String type;// 类型：目前只有一个：AbnormalPrice
  private Map<String, String> data;// 用map是用了方便扩展，目前针对价格异常只有一个属性涨跌幅，但是以后有其他的业务类型就有可能有很多

  public Long getRecordTime() {
    return recordTime;
  }

  public void setRecordTime(Long recordTime) {
    this.recordTime = recordTime;
  }

  public String getQuoteAssetName() {
    return quoteAssetName;
  }

  public void setQuoteAssetName(String quoteAssetName) {
    this.quoteAssetName = quoteAssetName;
  }

  public String getSymbol() {
    return symbol;
  }

  public void setSymbol(String symbol) {
    this.symbol = symbol;
  }

  public Long getTime() {
    return time;
  }

  public void setTime(Long time) {
    this.time = time;
  }

  public String getType() {
    return type;
  }

  public void setType(String type) {
    this.type = type;
  }

  public Map<String, String> getData() {
    return data;
  }

  public void setData(Map<String, String> data) {
    this.data = data;
  }

  @Override
  public int hashCode() {

    return Objects.hash(getSymbol(), getTime(), getType(), getData());
  }

  @Override
  public String toString() {
    return "AbnormalTradeNoticeInfo{" + "symbol='" + symbol + '\'' + ", quoteAssetName='" + quoteAssetName + '\''
        + ", time=" + time + ", recordTime=" + recordTime + ", type='" + type + '\'' + ", data=" + data + '}';
  }
}
